package com.yyaccp.appinfo.domain;

import java.math.BigDecimal;
import java.util.Date;

public class AppInfo {
    private Long id;

    private String softwareName;

    private String APKName;

    private String supportROM;

    private String interfaceLanguage;

    private BigDecimal softwareSize;

    private Date updateDate;

    private Long devId;

    private String appInfo;

    private Long status;

    private Date onSaleDate;

    private Date offSaleDate;

    private Long flatformId;

    private Long categoryLevel3;

    private Long downloads;

    private Long createdBy;

    private Date creationDate;

    private Long modifyBy;

    private Date modifyDate;

    private Long categoryLevel1;

    private Long categoryLevel2;

    private String logoPicPath;

    private String logoLocPath;

    private Long versionId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSoftwareName() {
        return softwareName;
    }

    public void setSoftwareName(String softwareName) {
        this.softwareName = softwareName == null ? null : softwareName.trim();
    }

    public String getAPKName() {
        return APKName;
    }

    public void setAPKName(String APKName) {
        this.APKName = APKName == null ? null : APKName.trim();
    }

    public String getSupportROM() {
        return supportROM;
    }

    public void setSupportROM(String supportROM) {
        this.supportROM = supportROM == null ? null : supportROM.trim();
    }

    public String getInterfaceLanguage() {
        return interfaceLanguage;
    }

    public void setInterfaceLanguage(String interfaceLanguage) {
        this.interfaceLanguage = interfaceLanguage == null ? null : interfaceLanguage.trim();
    }

    public BigDecimal getSoftwareSize() {
        return softwareSize;
    }

    public void setSoftwareSize(BigDecimal softwareSize) {
        this.softwareSize = softwareSize;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Long getDevId() {
        return devId;
    }

    public void setDevId(Long devId) {
        this.devId = devId;
    }

    public String getAppInfo() {
        return appInfo;
    }

    public void setAppInfo(String appInfo) {
        this.appInfo = appInfo == null ? null : appInfo.trim();
    }

    public Long getStatus() {
        return status;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Date getOnSaleDate() {
        return onSaleDate;
    }

    public void setOnSaleDate(Date onSaleDate) {
        this.onSaleDate = onSaleDate;
    }

    public Date getOffSaleDate() {
        return offSaleDate;
    }

    public void setOffSaleDate(Date offSaleDate) {
        this.offSaleDate = offSaleDate;
    }

    public Long getFlatformId() {
        return flatformId;
    }

    public void setFlatformId(Long flatformId) {
        this.flatformId = flatformId;
    }

    public Long getCategoryLevel3() {
        return categoryLevel3;
    }

    public void setCategoryLevel3(Long categoryLevel3) {
        this.categoryLevel3 = categoryLevel3;
    }

    public Long getDownloads() {
        return downloads;
    }

    public void setDownloads(Long downloads) {
        this.downloads = downloads;
    }

    public Long getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(Long createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreationDate() {
        return creationDate;
    }

    public void setCreationDate(Date creationDate) {
        this.creationDate = creationDate;
    }

    public Long getModifyBy() {
        return modifyBy;
    }

    public void setModifyBy(Long modifyBy) {
        this.modifyBy = modifyBy;
    }

    public Date getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    public Long getCategoryLevel1() {
        return categoryLevel1;
    }

    public void setCategoryLevel1(Long categoryLevel1) {
        this.categoryLevel1 = categoryLevel1;
    }

    public Long getCategoryLevel2() {
        return categoryLevel2;
    }

    public void setCategoryLevel2(Long categoryLevel2) {
        this.categoryLevel2 = categoryLevel2;
    }

    public String getLogoPicPath() {
        return logoPicPath;
    }

    public void setLogoPicPath(String logoPicPath) {
        this.logoPicPath = logoPicPath == null ? null : logoPicPath.trim();
    }

    public String getLogoLocPath() {
        return logoLocPath;
    }

    public void setLogoLocPath(String logoLocPath) {
        this.logoLocPath = logoLocPath == null ? null : logoLocPath.trim();
    }

    public Long getVersionId() {
        return versionId;
    }

    public void setVersionId(Long versionId) {
        this.versionId = versionId;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        AppInfo other = (AppInfo) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getSoftwareName() == null ? other.getSoftwareName() == null : this.getSoftwareName().equals(other.getSoftwareName()))
            && (this.getAPKName() == null ? other.getAPKName() == null : this.getAPKName().equals(other.getAPKName()))
            && (this.getSupportROM() == null ? other.getSupportROM() == null : this.getSupportROM().equals(other.getSupportROM()))
            && (this.getInterfaceLanguage() == null ? other.getInterfaceLanguage() == null : this.getInterfaceLanguage().equals(other.getInterfaceLanguage()))
            && (this.getSoftwareSize() == null ? other.getSoftwareSize() == null : this.getSoftwareSize().equals(other.getSoftwareSize()))
            && (this.getUpdateDate() == null ? other.getUpdateDate() == null : this.getUpdateDate().equals(other.getUpdateDate()))
            && (this.getDevId() == null ? other.getDevId() == null : this.getDevId().equals(other.getDevId()))
            && (this.getAppInfo() == null ? other.getAppInfo() == null : this.getAppInfo().equals(other.getAppInfo()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getOnSaleDate() == null ? other.getOnSaleDate() == null : this.getOnSaleDate().equals(other.getOnSaleDate()))
            && (this.getOffSaleDate() == null ? other.getOffSaleDate() == null : this.getOffSaleDate().equals(other.getOffSaleDate()))
            && (this.getFlatformId() == null ? other.getFlatformId() == null : this.getFlatformId().equals(other.getFlatformId()))
            && (this.getCategoryLevel3() == null ? other.getCategoryLevel3() == null : this.getCategoryLevel3().equals(other.getCategoryLevel3()))
            && (this.getDownloads() == null ? other.getDownloads() == null : this.getDownloads().equals(other.getDownloads()))
            && (this.getCreatedBy() == null ? other.getCreatedBy() == null : this.getCreatedBy().equals(other.getCreatedBy()))
            && (this.getCreationDate() == null ? other.getCreationDate() == null : this.getCreationDate().equals(other.getCreationDate()))
            && (this.getModifyBy() == null ? other.getModifyBy() == null : this.getModifyBy().equals(other.getModifyBy()))
            && (this.getModifyDate() == null ? other.getModifyDate() == null : this.getModifyDate().equals(other.getModifyDate()))
            && (this.getCategoryLevel1() == null ? other.getCategoryLevel1() == null : this.getCategoryLevel1().equals(other.getCategoryLevel1()))
            && (this.getCategoryLevel2() == null ? other.getCategoryLevel2() == null : this.getCategoryLevel2().equals(other.getCategoryLevel2()))
            && (this.getLogoPicPath() == null ? other.getLogoPicPath() == null : this.getLogoPicPath().equals(other.getLogoPicPath()))
            && (this.getLogoLocPath() == null ? other.getLogoLocPath() == null : this.getLogoLocPath().equals(other.getLogoLocPath()))
            && (this.getVersionId() == null ? other.getVersionId() == null : this.getVersionId().equals(other.getVersionId()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getSoftwareName() == null) ? 0 : getSoftwareName().hashCode());
        result = prime * result + ((getAPKName() == null) ? 0 : getAPKName().hashCode());
        result = prime * result + ((getSupportROM() == null) ? 0 : getSupportROM().hashCode());
        result = prime * result + ((getInterfaceLanguage() == null) ? 0 : getInterfaceLanguage().hashCode());
        result = prime * result + ((getSoftwareSize() == null) ? 0 : getSoftwareSize().hashCode());
        result = prime * result + ((getUpdateDate() == null) ? 0 : getUpdateDate().hashCode());
        result = prime * result + ((getDevId() == null) ? 0 : getDevId().hashCode());
        result = prime * result + ((getAppInfo() == null) ? 0 : getAppInfo().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getOnSaleDate() == null) ? 0 : getOnSaleDate().hashCode());
        result = prime * result + ((getOffSaleDate() == null) ? 0 : getOffSaleDate().hashCode());
        result = prime * result + ((getFlatformId() == null) ? 0 : getFlatformId().hashCode());
        result = prime * result + ((getCategoryLevel3() == null) ? 0 : getCategoryLevel3().hashCode());
        result = prime * result + ((getDownloads() == null) ? 0 : getDownloads().hashCode());
        result = prime * result + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode());
        result = prime * result + ((getCreationDate() == null) ? 0 : getCreationDate().hashCode());
        result = prime * result + ((getModifyBy() == null) ? 0 : getModifyBy().hashCode());
        result = prime * result + ((getModifyDate() == null) ? 0 : getModifyDate().hashCode());
        result = prime * result + ((getCategoryLevel1() == null) ? 0 : getCategoryLevel1().hashCode());
        result = prime * result + ((getCategoryLevel2() == null) ? 0 : getCategoryLevel2().hashCode());
        result = prime * result + ((getLogoPicPath() == null) ? 0 : getLogoPicPath().hashCode());
        result = prime * result + ((getLogoLocPath() == null) ? 0 : getLogoLocPath().hashCode());
        result = prime * result + ((getVersionId() == null) ? 0 : getVersionId().hashCode());
        return result;
    }
}